(more) =>

KeyMaker 2.1 is an application that allows the user to redefine almost any key on the 64 or 128 keyboard.

KeyMaker is compatible with Geos 2.0 and Geos 128 2.0 in 40 column mode. Full support of the 128 keyboard is included.

(more) =>

In 64 mode, the top half of the KeyMaker screen looks like this (128 users see 128 notes section):

Notice that the "back arrow" icon is inverted. This means it is currently selected for editing. The back arrow key is selected when KeyMaker is first run and after the use of LOAD, SAVE, and DEFAULT.

Also note that the "shift lock" and "restore" keys are shaded. These two keys cannot be edited within the Geos environment.

Click on any key to select it.

(more) =>

The

and

can be selected together with other keys. These keys will change the value shown in the STATUS window next to "Current:". When the CTRL and/or keys are highlighted, the FETCH, Default, and hex editing arrows have no effect. This is because values for these keys are calculated by Geos rather than held in a lookup table. Thus, they cannot be changed. (Actually, the values for a few of the keys combinations are in a lookup table, but KeyMaker does not support them. Sorry.) All other icons on the KeyMaker screen will function normally whether or not these keys are selected.

(more) =>

The

keys also can be used in conjunction with other keys. As you might expect, This will select the shifted value of the key. All of the icons on the KeyMaker screen function when SHIFT is selected.

Note: some keys return the same value whether shifted or unshifted. However, the shifted and unshifted values of these keys can be changed and made different from each other.

(more) =>

The lower half of the KeyMaker screen looks like this:

Let's consider the three sections of the STATUS box first.

(more) =>

The center section of the STATUS box looks like this:

Key: Shows the key currently selected. The key description will be in caps if the SHIFT key is selected, lower case if not. Some of the abbreviations used for the non-alpha-numeric keys are not terribly intuitive. If the abbreviations confuse you, look at the top half of the screen to see which key is inverted or see Appendices A and B.

Default: Shows the default value (in hex) of the key selected.

Current: Shows the current value of the key selected. The value displayed will change when the CTRL and/or keys are selected, but the value in memory will not.

Hex editing arrows:

Clicking on these arrows will change the current value of the selected key. The left arrows will change the high nibble, the right ones the low nibble. These changes are made directly to the Geos lookup table and will remain in effect when you QUIT KeyMaker.

Although KeyMaker uses hex values exclusively, I have tried to make it comprehensive enough that you don't need to know what the hex numbers mean to use them. If you do need to convert hex to/from decimal, Appendix E includes both values for all the keyboard keys Ä$01 - $7e (1 - 126)Ü

(more) =>

The left side of the STATUS box looks like this:

Clicking on the STASH icon will save the current key value to a buffer.

Clicking on the FETCH icon will replace the current key value with the value in the buffer.

The buffer status indicator box:

will be totally inverted after a STASH. After the first FETCH from the buffer, the indicator box will be half inverted. This gives you a visual indicator of what you have done with the buffer.

The CORNFIELD icon:

will show you the credit dialog box for KeyMaker (similar to page one of these docs.)

(more) =>

The right side of the STATUS box looks like this:

Clicking on the Default icon will return the current key value to its default. Do not confuse this icon with the Default icon which is outside the STATUS box!

(more) =>

The icons on the right side of the bottom of the screen function as follows:

geos: Puts up a dialog box showing the Desk Accessories available on disk. Second drive and disk switching are also supported.

Default: Returns all keys on the keyboard to their default Geos values. This action is NOT reversible without re-editing or LOADing a KeyMaker data file. Be careful not to confuse this Default icon with the Default icon in the STATUS box!

Save: Saves your customized keyboard setup to a data file. KeyMaker uses AUTO_EXEC files as data files. SAVE creates a stand-alone Geos file that will install your custom keyboard setup when double-clicked from the DeskTop (or at boot time if placed on your boot disk).

Load: Loads KeyMaker data files for editing. LOADing a data file will change the values of all keys to those specified in the data file. These changes are made directly to the lookup table and will remain in effect when you QUIT KeyMaker.

Quit: Clicking on the QUIT icon will exit KeyMaker. Upon exiting, the keyboard will be configured exactly as specified by the current values of all keys.

(more) =>

128 Notes

The upper part of the screen will include key icons representing the 128's extra keys:

The

keys will appear in their correct place at the top of the keyboard. Note that the CAPS LOCK and 40/80 keys are shaded. They cannot be edited.

The keypad will appear underneath the space bar icon like this:

Keypad keys have their own spots in the lookup table, even though they duplicate keys on the main keyboard. Thus their values can be changed independently. In the STATUS box, keypad keys are represented with a "k" suffix to differentiate between the keypad and main keyboard:

Key: 3 (3 key on main keyboard above "w" and "e")

Key: 3 k (3 key on keypad)

AUTO_EXEC data files created in 128 mode will do nothing if run in 64 mode (and vice versa). They can be distinguished by the "64" or "128" in the icon. Keymaker will load any data file regardless of which mode it is being run in. If a 128 file is LOADed in 64 mode and then SAVEd, it will have been converted to a 64 AUTO_EXEC file and the keypad data will be lost. 64 mode data files can be loaded in 128 mode, but the effects on the extra 128 keys are unpredictable.

(more) =>

Programmers' notes:

Sometimes Geos software reads the keyboard directly without looking in the queue. An example is the DeskTop's SHIFT A combination which switches drive C and drive A. SHIFT A has a value of $c1. However, if you define a key as $c1, the Desktop will respond to it as if you pressed A (without the shift).

Profuse thanks to Mike Schell for his file documenting the Geos keyboard routines. KeyMaker would have been impossible without his work.

KeyMaker 2.1 is shareware. If you get significant use from this program (and remember that a data file may be used every time you boot), please send $5.00 (I'm really not greedy, but I can use the encouragement!) to:

Irv Cobb

909 Main Street

Union Grove, WI 53182

and thanks!

(more) =>

Appendix A

Unshifted Key Abbreviations

del delete ret return

crt cursor right cdn cursor down

lb british pound hom home

^ up arrow bac back arrow

spc space stp stop

128 only:

hlp help tab tab

1 k keypad 1 2 k keypad 2

3 k keypad 3 4 k keypad 4

5 k keypad 5 6 k keypad 6

7 k keypad 7 8 k keypad 7

9 k keypad 9 0 k keypad 0

+ k keypad plus - k keypad minus

. k keypad period nsc no scroll

esc escape lfd line feed

ent enter alt alt

up cursor up * dwn cursor down *

lef cursor left * rgt cursor right *

* On the 128, the cursor keys on the upper level of the keyboard can be defined separately from those on the main keyboard.

(more) =>

Appendix B

Shifted Key Abbreviations

INS insert (shift delete) RET return

CLF cursor left CUP cursor up

LB british pound CLR clear (shift home)

^ up arrow BAC back arrow

SPC space RUN run (shift stop)

sh0 shift zero sh+ shift plus

sh- shift minus sh@ shift @

sh* shift asterisk sh= shift equal sign

QUO quotes (shift 2) sh^ shift up arrow

128 only:

HLP help TAB tab

1 K keypad 1 2 K keypad 2

3 K keypad 3 4 K keypad 4

5 K keypad 5 6 K keypad 6

7 K keypad 7 8 K keypad 7

9 K keypad 9 0 K keypad 0

+ K keypad plus - K keypad minus

. K keypad period NSC no scroll

ESC escape LFD line feed

ENT enter ALT alt

UP cursor up * DWN cursor down *

LFT cursor left * RGT cursor right *

* On the 128, the cursor keys on the upper level of the keyboard can be defined separately from those on the main keyboard.

(more) =>

Appendix C

Unshifted Key Values

(in the order they appear in the lookup matrix)

del ret crt f7 f1 f3 f5 cdn

$1d $0d $1e $0e $01 $03 $05 $11

3 w a 4 z s e ---

$33 $77 $61 $34 7a $73 $65 ---

5 r d 6 c f t x

$35 $72 $64 $36 $63 $66 $74 $78

7 y g 8 b h u v

$37 $79 $67 $38 $62 $68 $75 $76

9 i j 0 m k o n

$39 $69 $6a $30 $6d $6b $6f $6e

+ p l - . : @ ,

$2b $70 $6c $2d $2e $3a $40 $2c

lb * ; hom --- = ? /

$08 $2a $3b $12 --- $3d $5e $2f

1 bac --- 2 spc --- q stp

$31 $14 --- $32 $20 --- $71 $16

128 Version Only:

hlp 8 5 tab 2 4 7 1

$19 $38 $35 $09 $32 $34 $37 $31

esc + - lfd ent 6 9 3

$1b $2b $2d $0a $0b $36 $39 $33

alt 0 . up dwn lft rgt nsc

$1a $30 $2e $10 $11 $08 $1e $07

(more) =>

Appendix D

Shifted Key Values

(in the order they appear in the lookup matrix)

INS RET CLF F8 F2 F4 F6 CUP

$1c $0d $08 $0f $02 $04 $06 $10

# W A $ Z S E ---

$23 $57 $41 $24 $5a $53 $45 ---

% R D & C F T X

$25 $52 $44 $26 $43 $46 $54 $58

' Y G ( B H U V

$27 $59 $47 $28 $42 $48 $55 $56

) I J 0 M K O N

$29 $49 $4a $30 $4d $4b $4f $4e

+ P L - > Ä @ <

$2b $50 $4c $2d $3e $5b $40 $3c

LB * Ü CLR --- = ^ ?

$18 $2a $5d $13 --- $3d $5e $3f

! BAC --- " SPC --- Q RUN

$21 $14 --- $22 $20 --- $51 $17

128 Version Only:

HLP 8 5 TAB 2 4 7 1

$19 $38 $35 $09 $32 $34 $37 $31

ESC + - LFD ENT 6 9 3

$1b $2b $2d $0a $0b $36 $39 $33

ALT 0 . UP DWN LFT RGT NSC

$1a $30 $2e $10 $11 $08 $1e $07

Appendix E

Geos ASCII Codes ($01-$3f)

Key Hex Dec

f1 $01 1

F2 $02 2

f3 $03 3

F4 $04 4

f5 $05 5

F6 $06 6

nsc $07 7 128 only

clf $08 8

tab $09 9 128 only

lfd $0a 10 128 only

ent $0b 11 128 only

$0c 12 no apparent Geos function

ret $0d 13

f7 $0e 14

F8 $0f 15

cup $10 16

cdn $11 17

hom $12 18

CLR $13 19

bac $14 20

$15 21 no apparent Geos function

stp $16 22

RUN $17 23

lb $18 24

hlp $19 25 128 only

alt $1a 26 128 only

esc $1b 27 128 only

INS $1c 28

del $1d 29

crt $1e 30

$1f 31 SHIFT,,CTRL (not supported by KeyMaker)

spc $20 32

! $21 33

" $22 34

# $23 35

$ $24 36

% $25 37

& $26 38

' $27 39

( $28 40

) $29 41

* $2a 42

+ $2b 43

, $2c 44

- $2d 45

. $2e 46

/ $2f 47

0 $30 48

1 $31 49

2 $32 50

3 $33 51

4 $34 52

5 $35 53

6 $36 54

7 $37 55

8 $38 56

9 $39 57

: $3a 58

; $3b 59

< $3c 60

= $3d 61

> $3e 62

? $3f 63

(more) =>

Appendix E (cont)

Geos ASCII Codes $40-$7e

Key Hex Dec

@ $40 64

A $41 65

B $42 66

C $43 67

D $44 68

E $45 69

F $46 70

G $47 71

H $48 72

I $49 73

J $4a 74

K $4b 75

L $4c 76

M $4d 77

N $4e 78

O $4f 79

P $50 80

Q $51 81

R $52 82

S $53 83

T $54 84

U $55 85

V $56 86

W $57 87

X $58 88

Y $59 89

Z $5a 90

Ä $5b 91

Ö $5c 92 / (not supported by KeyMaker)

Ü $5d 93

^ $5e 94

_ $5f 95 - (not supported by KeyMaker)

` $60 96 @ (not supported by KeyMaker)

a $61 97

b $62 98

c $63 99

d $64 100

e $65 101

f $66 102

g $67 103

h $68 104

i $69 105

j $6a 106

k $6b 107

l $6c 108

m $6d 109

n $6e 110

o $6f 111

p $70 112

q $71 113

r $72 114

s $73 115

t $74 116

u $75 117

v $76 118

w $77 119

x $78 120

y $79 121

z $7a 122

ä $7b 123 : (not supported by KeyMaker)

ö $7c 124 ^ (not supported by KeyMaker)

ü $7d 125 ; (not supported by KeyMaker)

ß $7e 126 * (not supported by KeyMaker)

$7f 127 DELETE (not supported by KeyMaker)

$80 128 key (not supported by